'''
    容器：
        列表：[10,20,,50,40]
        需求:
            商店：
                1.口袋有钱
                2.有空的购物车
                3.有足够的商品
                4.正常的购物流程：
                    1.输入编号：
                        存在该商品：
                            存在：
                                钱够不够：
                                    够：
                                        商品添加购物车
                                        余额减去商品的价格
                                        提示：恭喜，添加成功！
                                    不够：
                                        提示：穷鬼，没钱别瞎买！
                            不存在：
                                提示：您要的商品不存在，选择其他商品！
                5.打印购物小条：
                    展示购物车里的商品。
        需求：
            1.10张优惠券：
                [
                    ["洗衣机",0.5]
                    ["洗衣机",0.5]
                    ["微波炉",0.7],
                    ["微波炉",0.7],
                    ["风扇",0.9],
                    ["风扇",0.9],
                    ["风扇",0.9],
                    ["iphone",0.85]
                    ["iphone",0.85]
                ],
                随机抽取一个张优惠券，然后商品按照
                优惠券进行打折
            2.优化代码，购物小条重复打印整合分类，形成一条：x12 ，实际付款，  结算日期
'''


'''
注 次优惠劵只能用一次！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！
！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！
！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！

'''


import random
import time


shop = [["洗衣机", 5000], ["微波炉", 2500], ["iphone 13 plus", 8000], ["Mac pc", 12000], ["辣条", 2.5], ["风扇", 120]]

# 用户初始化自己余额：
money = input("请输入您的余额：")
money = int(money)
b = money

# 随机抽取一个优惠券
coupon = [["洗衣机", 0.5], ["洗衣机", 0.5], ["微波炉", 0.7], ["微波炉", 0.7], ["风扇", 0.9], ["风扇", 0.9], ["风扇", 0.9],
          ["iphone 13 plus", 0.85], ["iphone 13 plus", 0.85]]
a = random.choice(coupon)
print("你有一张", a[0], "的", a[1], "折扣卷")
# a = ["iphone", 0.85]  测试接口！！！！！！！！！！！！

myshopcar = []

while True:
    for index, value in enumerate(shop):
        print(index, value)
    # 正常购物
    chose = input("请输入商品编号：")

    if chose == "q" or chose == "Q":
        print("欢迎下次光临！")
        break
    elif chose.isdigit():
        chose = int(chose)
        if chose >= len(shop):
            print("您输入商品编号不存在！")
        else:
            if (shop[chose][0] == a[0] and money < shop[chose][1] * a[1]) or (shop[chose][0] != a[0] and money < shop[chose][1]):
                print("穷鬼，钱不够！别瞎买！")
            else:
                if shop[chose][0] == a[0]:
                    money = money - shop[chose][1] * a[1]
                    myshopcar.append(shop[chose])
                    print("恭喜，商品添加成功！您的余额还剩", money)
                    a[1] = 1
                else:
                    money = money - shop[chose][1]
                    myshopcar.append(shop[chose])
                    print("恭喜，商品添加成功！您的余额还剩", money)
    else:
        print("非法输入！别瞎弄！")

# 打印购物小条
print("这是您的购物小条，请拿好：")
print("---------------------------")
list1 = []
sump = 0
for i in myshopcar:
    list1.append(i[0])
list1_set = set(list1)
for item in list1_set:
    for k in range(len(shop)):
        if shop[k][0] == item:
            price = shop[k][1]
            print("%s X %s------%.1f" % (item, list1.count(item), shop[k][1] * list1.count(item)))
            sump += shop[k][1] * list1.count(item)
print("\n")
print("应付￥", sump)
print("您实际花费了￥", b - money)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
print("---------------------------")
print("您带了", b, "￥进超市")
print("您的余额还剩:￥", money)
